Network administrators are presently using a collection of technologies referred to as web-based enterprise management (WBEM) to manage network and other information of an enterprise. For example, network administrators run WEBM-compatible management applications to perform such tasks as detect machines on a network, inventory software and hardware configurations, and send key information back to a central database. The results of the communication may appear on a user interface so as to allow administrators to view the data of the network device. Such management applications and components receive this information from a variety of disparate sources, some of which are network devices. By way of example, a management application or component may wish to communicate with remote disk drive software (i.e., an agent) to determine how much free space remains on a network drive, or communicate with a router agent determine some property of a router.
In general, network device agents provide such management information via a standard known as the Simple Network Management Protocol (SNMP). In accordance with SNMP, the management component uses Management Information Bases (MIBs) to describe the structure of the data available at the network device. MIBs are published structures of static information that relate to the dynamic information provided by a network device. For example, a particular MIB might describe information such as an association between a device's data entity and a name (object identifier), a definition of the data type for that entity, a textual description of the entity, how the entity is indexed, if the entity is a member of a complex data type and the access allowed for that entity. The management component then is able to describe the data made available on the SNMP device (e.g., in response to a query or event) by using an appropriate MIB module to model that data.
A recent improvement in management information technology provides a centralized object manager and schema that provide uniform rendering of management information to client management applications. The object manager and schema are described in U.S. patent application Ser. No. 09/020,146, entitled "Object Manager for Common Information Model," assigned to the assignee of the present invention and hereby incorporated by reference in its entirety. In general, the Common Information Model (CIM) is an object-oriented technology, wherein the components of CIM, such as classes, instances, and qualifiers may be conveniently described in a user-intuitive textual format known as Managed Object Format (MOF), (described below). A CIM object Manager (described below) preferably operates on information on CIM objects described via MOF.
In contrast, MIB modules are not user-intuitive, but rather consist of complex, tree-based structures using object identifiers (OIDs) to describe locations in the tree. An OID is a unique identifier assigned to a specific object, consisting of a variable length sequence of numbers that identify the source of the object as well as the object itself. MIB OIDs are thus unique values organized into a tree structure, wherein the sequence of numbers identifies the various branches of the subtree that a given MIB object comes from. For example, SNMP objects are members of the subtree identified by "iso.org.dod.internet," which has a defined OID of 1.3.6.1. In this notation, subsequent numbers further define the exact location of a MIB object under that subtree. In short, a primary problem is that SNMP devices utilize these complex MIB modules, while the CIM object manager (which significantly improves enterprise management) use CIM objects.
Moreover, different network devices support different MIB modules, some of which are standardized based on the particular type of device (e.g., IP MIBs, IPX MIBs for routers) while others are proprietary MIBs published by a device manufacturer or the like to provide some value-added device data to their device. A large number of MIB modules, on the order of thousands, have been published, and a similarly large number thereof may be maintained in a repository of a given CIM installation. However, given an arbitrary device, the various MIB modules (or part thereof) supported by that device are not necessarily known. To be manageable via a CIM object manager (CIMOM), however, the subset of supported MIBs needs to be known. Because of time and network bandwidth considerations, there is no straightforward way to query the devices to determine the subset of the total set of MIBS supported thereby. For example, although SNMP devices respond to a Get (OID) operation to answer whether a particular object (specified by its OID) is supported, it is impractical to individually query the device in real time with each of the (relatively large number of) OIDs to see which of the set are supported. As a result, given an arbitrary device, another problem with some SNMP (e.g., version 1) MIBs is that there has heretofore been no efficient way in which to determine the subset of MIB modules (or portion thereof) that the given device supports.